let users = require("../data/data");
let id = 0;
module.exports={
    //查询到所有的用户
    getAll(ctx){
        //连接数据库的代码 代码本身没问题  可有可能在网络没有连上的情况导致代码报错
        //console.log(xxx)
        ctx.body=users
    },
    //新增一个用户
    addUser(ctx){
        const {name,age} = ctx.request.body;

        //检验body中数据的类型
        ctx.verifyParams({
            name: {
                type:"string",
                required:true
            },
            age:"number"
        });

        name ? "" : ctx.throw(422,"用户名必传")
        age ? ""  : ctx.throw(422,"用户年龄必传")

        const user = { id:id++,name,age}
        users.push(user);
        ctx.body = user;
    },
    //根据id查询用户
    getUserById(ctx){
        const id = +ctx.params.id;
        if(id < 0){ctx.throw(412,"id不能为负值")};
        const user = users.filter(user => user.id === id)[0]
        ctx.body = user;
    },
    //根据id更新用户
    updateUserById(ctx){
        const id = +ctx.params.id;
        const user = users.filter(user => user.id === id)[0]
        const {name,age} = ctx.request.body;
        name ? user.name=name : ctx.throw(422,"用户名必传")
        age ? user.age=age  : ctx.throw(422,"用户年龄必传")
        ctx.body = user
    },
    //根据id删除用户
    deleteUserById(ctx){
        const id = +ctx.params.id;
        users =  users.filter(user => user.id !== id);
        ctx.body = undefined
    }
}